Gnss receiver and external storage device system and gnss data processing method

ABSTRACT

A GNSS system includes a receiver connected to an external mass storage device. Applications for the system, including GNSS data processing methods are also disclosed. The external storage device can comprise a flash (thumb) drive, which can be connected to the receiver via a USB interconnection.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of and claims the benefit of U.S.patent application Ser. No. 12/247,139, filed Oct. 7, 2008, now U.S.Pat. No. 7,808,248; and U.S. Provisional Patent Application Ser. No.60/978,276, filed Oct. 8, 2007, which are incorporated herein byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to GNSS receivers, and inparticular to a GNSS receiver connected to a storage device.

2. Description of the Related Art

Typically, a global navigation satellite system (GNSS, including withoutlimitation GPS, GLONASS, etc.) receiver includes a correlation digitalsignal processor (DSP) for performing the correlation function requiredby a GNSS receiver and a general purpose processor for performing suchfunctions as closing code and carrier tracking loops, calculating a GNSSsolution, communicating with the user interface, and other generic tasksas required for the particular GNSS application. A GNSS receiver alsotypically contains a means to output data, often through a serialinterface such as RS-232 or serial USB.

A wide variety of digital storage devices are commercially available.For example, universal serial bus (USB) flash drives are NAND-type flashmemory data storage devices integrated with USB interfaces. They aretypically small, lightweight, removable and rewritable. Memorycapacities for USB flash drives currently range from 32 megabytes up toat least 8 gigabytes. Capacity is limited only by current flash memorydensities, although cost per megabyte may increase rapidly at highercapacities due to the expensive components.

USB flash drives, which are sometimes referred to as thumb drives, offerpotential advantages over other portable storage devices, particularlyfloppy disks. For example, their advantages generally include relativelylarge capacities, compactness, speed, self-powering, durability andreliability due to their lack of moving parts. Computers, includingdesktop and laptop (notebook) personal computer (PC) units, are commonlyequipped with one or more USB ports. USB flash drives use the USB massstorage standard, which is supported natively by modern operatingsystems such as Windows, Mac OS X, Linux, and Unix. Flash drives areincreasingly becoming a preferred means of data transfer, backup andstorage.

USB is a polling technology. The host device (typically a PC) polls allclient devices on the USB bus to determine if they need servicing.Servicing consists of either sending data to a USB endpoint or receivingdata from a USB endpoint. A client device cannot initiate transactions;it can only respond to requests from a USB host.

High-end GNSS receivers and some low-end GNSS receivers are capable ofoutputting raw measurements such as pseudorange, (integrated) carrierphase, Doppler, and/or satellite navigation message data such assatellite ephemeris parameters, satellite clock correction parametersand ionosphere delay parameters. These receivers may output in aproprietary format or use commonly known RINEX format. In the past,output has typically been over a communication link such as RS-232, USB,or Ethernet.

Currently many of the general purpose processors that are used in GNSSreceivers do not have hardware controllers or software that allows themto act as a USB host device. Some higher end processors, such asFreescale's MX31 processor, do include controllers that allow them to beUSB hosts. In the exemplary embodiment, the Freescale MX31 processor isused as the GNSS receiver's processor since it supports the USB hostfunctionality and also incorporates high performance vector floatingpoint for rapid calculation of GNSS solutions.

Post-processing software using raw GNSS observations can significantlyimprove positioning accuracy. With the right equipment and under theright conditions, one can achieve decimeter, centimeter or evenmillimeter level positioning. Such processing requires data to becollected from at least two GNSS receivers, one of which is at a knownposition. Various methods of post-processing are known in the art.

In order to post-process such information, a system must output rawmeasurement data from a GNSS receiver, store this output data to a file(typically on a PC) and finally post-process the data using specializedsoftware designed to perform functions that are difficult to do inreal-time, including the simultaneous processing of data from multiplereceivers, forward and backward filtering, use of precise orbits, andimproved ionosphere and troposphere models.

With proper modeling of the ionosphere and troposphere it is possible toprocess baselines of several hundred kilometers in length, especiallywhen using dual frequency equipment. Use of precise orbit files, forexample, those in SP3 format from the International GNSS Service (IGS),virtually eliminates the effect of broadcast orbital errors on longerbaselines. Ionosphere-free float solutions allow for accuracies of a fewdecimeters with tens of minutes of data over a thousand kilometers.Fixed solutions are sometimes possible with observations spanningseveral hours over a baseline several hundred kilometers in length.

What is needed is a way to output data for post processing and othertypes of data directly from a GNSS receiver to a USB Flash Drive, thusavoiding bottlenecks of conventional communication links, andfurthermore, simplifying the data logging process by avoiding the use ofexternal computers.

Therefore, the design criteria for GNSS receiver external storagesystems would preferably included minimizing overall size and cost, andmaximizing the capacity, speed and compatibility with common computersystem configurations. Previous GNSS receiver and external storagedevice systems have not provided the advantages and features of thepresent invention.

SUMMARY OF THE INVENTION

Aspects of the present invention include methods and applications ofusing and coupling a USB flash drive storage device with a GNSSreceiver, for example a GPS receiver. The combination of a GNSS receiverand a USB flash drive lends itself to many applications that weredifficult or inconvenient using previous methods of direct serialoutput.

It is therefore an object of this invention to provide a simple means tostore GNSS measurement data to a file for later post-processing withoutthe use of an external computer such as a PC, but while maintainingcompatibility with a PC and while providing a mechanism for easytransfer of data to a PC for post processing.

It is also an object of this invention to provide a means to store data,including map data or data for analysis to a USB flash drive directlyfrom a GNSS receiver.

It is an object of this invention to provide a means to upload firmwaredirectly from a USB flash drive to a GNSS receiver without the use of anexternal PC.

It is an object of the present invention to allow for parameter data tobe uploaded to a GNSS receiver from a USB flash drive.

It is yet another object of the invention that a USB flash driveprovides a simple means to store GNSS/GPS measurement data to a file forlater post-processing by a GNSS receiver itself where the method avoidsthe use of a PC altogether.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a system including a generic GNSSreceiver and a USB flash drive comprising an aspect of the presentinvention.

FIG. 2 is a schematic diagram of another system including a real-typeoperating system (RTOS) for hosting a GNSS/GPS application and USBfunctionality for supporting a flash drive.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS I. Introduction andEnvironment

As required, detailed embodiments of the present invention are disclosedherein; however, it is to be understood that the disclosed embodimentsare merely exemplary of the invention, which may be embodied in variousforms. Therefore, specific structural and functional details disclosedherein are not to be interpreted as limiting, but merely as a basis forthe claims and as a representative basis for teaching one skilled in theart to variously employ the present invention in virtually anyappropriately detailed structure.

Certain terminology will be used in the following description forconvenience in reference only and will not be limiting. The words“inwardly” and “outwardly” refer to directions toward and away from,respectively, the geometric center of the embodiment being described anddesignated parts thereof. Said terminology will include the wordsspecifically mentioned, derivatives thereof and words of similarmeaning.

II. GNSS Systems with External Storage Devices

Referring to the drawings in more detail, FIG. 1 shows an exemplarydepiction of a generic GNSS receiver that supports a USB flash drive. Anantenna 101 is connected an RF signal conditioning portion 102. The RFdata is down-converted, sampled and then fed to a high-speed digitalsignal processing (DSP) correlator 103 which performs correlations onthe received GNSS signals for eventual tracking. Tracking andpositioning software reside in a general purpose CPU 104. The CPUsupports a USB host hardware interface 105 which communicates to a USBflash drive 109 through a mass storage interface 106. Also supported area generic RS-232 interface 108 and a generic USB serial interface 107.

The software enabling USB host capability is standard in PC-basedoperating systems but is not present in many current real-time operatingsystems (RTOS) used in GNSS receivers. Therefore this capability andassociated software are added to the RTOS of the GNSS receiver. The RTOSis designed to include a hardware abstraction layer (HAL) along withhigher level software to enable USB host capability. The purpose of theHAL is to create an interface between the USB host controller hardwareand the upper level USB software.

A special consideration of USB technology in a GPS receiver is that USBfunctionality must not impact the ability of the GNSS receiver todeliver on-time location solutions. To obtain a location solution, thereceiver must track the code and carrier phase of the satellitegenerated GPS signals. It is often the duty of a general purpose CPU toclose code and carrier phase tracking loops. This is usually done on afixed time interval (interrupt) basis. This time basis must bemaintained so that the characteristics of the code and carrier trackingloops remain consistent. That implies that any USB activities must notimpact the interrupt servicing of the code and carrier tracking loops.Therefore, the embedded USB host software that is divided between theHAL and the upper level software consist of interrupt service routines(ISRs) and delayed service routines (DSRs). The ISRs complete theirtasks quickly so as not to impact the servicing of the code and carriertracking loops. The USB ISRs are the interface between the upper levelUSB software and the HAL. The USB DSRs handle all USB activities thatare not handled by the ISRs. These DSRs will be executed on a time slicebasis as dictated by the RTOS.

FIG. 2 depicts the RTOS 200 which hosts the GPS application 201 as wellthe USB functionality necessary for the flash drive support. The flashdrive support includes the DSR 202 as well as the ISR low level HALroutines residing in the ISR 203. There is also a software modulecomprising a PC compatible file system 204 to support a file system onthe USB flash drive 207. The ISR software communicates with USB hosthardware 205 and data transfer to and from a USB flash drive 207 isthrough a mass storage device serial interface 206.

Any files that the GNSS receiver reads from or writes to a USB flash(thumb) drive 109, 207 must also be compatible with a typical PCoperating system. This requires the GNSS receiver software to include aPC compatible file system 204. This is something that is not typicallyincluded in an RTOS.

A method of selecting and naming data log files is utilized that employsa user (command) interface 208 through one of the GNSS receiver, RS-232or conventional USB interfaces. Various messages can be turned on andassigned to be written to a particular file. All messages that can beoutput to an RS-232 port can also be written to a file on the USB flashdrive 109, 207.

III. Specific Methods and Applications

A benefit of a large USB flash drive is that it can hold large datafiles for later post-processing, which can involve days or even weeksworth of GNSS data. For example, a simple means is provided for storingGNSS measurement data to a file for later post-processing without theuse of an external computer such as a PC for logging of the data. A USBflash drive maintains compatibility with a PC and provides a mechanismfor easy transfer of data to a PC for post-processing.

Data logging is also advantageous for trouble shooting a GNSS device.For example, a stream of all GNSS receiver observables needed toreconstruct receiver performance off-line (in non-real time) may belogged for playback. Modern high-end receivers may run at solution ratesof 20 Hz or more and can output significant amounts of data. The datarates may be too high for conventional RS-232. However, by utilizing thepresent invention, high speed data for trouble shooting or analysis maybe logged directly to a file on the attached USB Flash drive.

Another application of data logging is simply to log GNSS-derivedlocations or tracks into a file for display on a map, perhaps todocument proper coverage when applying chemicals in an agriculturalapplication. New mapping technology, such as Google Earth, has anexpanding API which allows data to be presented in a variety of ways.Real-time logging of track, swath and area calculations andcolorizations based on speed or altitude can be logged to the USB flashdrive in a format that will load automatically by a mapping applicationsuch as Google Earth.

In addition to map-formatted data, other types of data that may belogged to the USB flash drive include: real-time aircraft tracking; rawcode and carrier observables; range/pitch/yaw information; XYZ position;speed and time.

An application of this invention is to provide a means to store data,including map data or data for analysis to a USB flash drive directlyfrom a GNSS receiver. In existing GNSS receivers, the means of uploadingfirmware or FGPA images into a GNSS receiver often involve the use oflaptop computers to run the uploading program and to deliver the imagefile to be uploaded. However, a laptop computer is not always readilyavailable. It would be more desirable to use a compact, low-cost meansof delivering the firmware update while avoiding the use of a laptopcomputer. To realize this objective, firmware within the GPS receivercan detect the insertion of the USB flash drive and further detect thata new firmware file resides on the USB flash drive by scanning the driveand looking for a particular signature. The receiver software can thenautomatically upload the firmware into RAM and then invoke an internalprocess of programming the firmware into the receiver's own nonvolatilememory.

It is yet another application of this invention to provide a means toupload firmware directly from a USB flash drive to GPS receiver withoutthe use of an external PC. Differential GPS (DGPS) provides one means ofcorrecting a GNSS receiver's measurements to provide increased accuracy.In some situations, DGPS is not readily available, however, there stillmay be data that can be delivered to a GNSS receiver less frequently(say once per day) than typical DGPS and still allow for increasedaccuracy. Such data may include precise orbit files, ionosphere modelingparameters, differential code biases such as the P1-C1 and P1-P2 codebiases provided by Center for Orbit Determination in Europe (CODE). Datamay be downloaded from the World Wide Web (Internet) once per day,copied to a USB flash drive, and then the flash drive removed from thePC and inserted into the host USB port on the GNSS receiver. Positioningsoftware within the receiver is designed to utilize the aforementioneddata to enhance positioning accuracy.

An example of a positioning method that would benefit from the use of aUSB Flash drive is precise point positioning (PPP). The details of PPPhave been discussed in literature including the work of Dr. Yang Gao andcolleagues at the University of Calgary. Dr Gao's methods can berealized by the use of USB flash drives to upload precise orbits andclock files into the GNSS receiver. Many organizations, including theInternational GPS service (IGS), Natural Resources Canada (NRCan) andJet Propulsion Laboratory (JPL), provide such process orbit and clockfiles. These organizations are accessible from a PC via the Internet,where files can be downloaded and saved to the USB flash drive fortransport to the GNSS receiver.

A parameter file can also be used to set up the logging optionsautomatically on power-up from the GNSS application. These options caninclude the various data messages to be polled and the format to belogged, logging rate, start and end times, automated logging-on,exceeding speed limits or leaving complex geo-fence polygons.

Another application of the present invention is to allow for parameterdata to be uploaded to a GNSS receiver from a USB flash drive. In yetanother application of the invention, the USB flash drive provides asimple means to store GPS measurement data to a file for laterpost-processing by the GNSS receiver itself. This avoids a PCaltogether. This is particularly suited for PPP applications thatinvolve data from a single GNSS receiver. Here precise orbit and clockdata may first be stored on the USB flash drive, then the flash driveinserted into the GNSS receiver where it is brought to the field togather data. Once the desired amount of data has been gathered, the GNSSreceiver is placed in a mode where it invokes post-processing algorithmson the stored data.

It should be understood that the current preferred embodiments refer toso-called universal serial bus (USB) thumb drives but could include anyother technology that allows connection of a mass storage devicedirectly or wirelessly to a GPS receiver. Other possibilities includeFireWire, wireless USB, or any other enabling technology.

It is to be understood that the invention can be embodied in variousforms, and is not to be limited to the examples discussed above. Othercomponents and configurations can be utilized in the practice of thepresent invention.

1. A system for processing GNSS signals from multiple satellite sourcesreceived, which comprises: a GNSS receiver including a digital signalprocessor (DSP) and a general purpose central processing unit (CPU); USBhost hardware connected to said CPU; a USB serial interface connected tosaid CPU; said CPU having random access memory (RAM); nonvolatile memoryconnected to said receiver; said receiver including a real-timeoperating system (RTOS) including a hardware abstraction layer (HAL) andupper-level USB software enabling USB host capability; said USB hostcontroller hardware and the USB software interfacing with the HAL; USBhost software embedded in said CPU and including interrupt serviceroutines (ISRs) and delayed service routines (DSRs) in said USB hostsoftware; said ISRs handling USB activities between the upper-level USBsoftware and the HAL; said DSRs handling USB activities not handled bythe ISRs; said RTOS providing time slice bases for executing the DSRssaid GNSS receiver software including a PC compatible file system andreceiving raw analog GNSS ranging and timing signals; an AD converterdownconverting the raw analog GNSS signals to digital signals; thedigital signal processor (DSP) correlating the digital signals; the CPUclosing code and carrier tracking loops on a fixed time interval(interrupt) basis; a user interface calculating a GNSS solution andcommunicating the GNSS solution; the USB receiving output signalsrepresenting the GNSS positioning solution; the external USB storagedevice providing compatibility for the RTOS files read from or writtento the external USB storage device; the CPU processing said outputsignals in real-time; a mass storage interface transferring said outputsignals between said USB host hardware and said storage device; saidexternal USB storage device storing said output signals; and saidexternal computer post-processing said externally stored data.